#include <iostream>
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

void read(vector<vector<char>>& rec,int n){
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>rec.at(i).at(j);
        }
    }
}

void tran90(vector<vector<char>>& tar,const vector<vector<char>>& src){
    for(int i=0;i<src.size();i++){
        for(int j=0;j<src.size();j++){
            tar.at(i).at(j)=src.at(src.size()-1-j).at(i);
        }
    }
}
void reflect(vector<vector<char>>& tar,const vector<vector<char>>& src){
    for(int i=0;i<src.size();i++){
        for(int j=0;j<src.size();j++){
            tar.at(i).at(j)=src.at(src.size()-1-i).at(j);
        }
    }
}

bool isEqual(const vector<vector<char>>& tar,const vector<vector<char>>& src){
    for(int i=0;i<src.size();i++){
        for(int j=0;j<src.size();j++){
            if(tar.at(i).at(j)!=src.at(i).at(j))
                return false;
        }
    }
    return true;
}

void print(const vector<vector<char>>& src){
    for(auto iter:src){
        for(char c:iter){
            cout<<c<<" ";
        }
        cout<<endl;
    }
}

int check(const vector<vector<char>>& tar,const vector<vector<char>>& src){
    int n=tar.size();
    vector<vector<char>> tmp1(n,vector<char>(n));
    vector<vector<char>> tmp2(n,vector<char>(n));
    tran90(tmp1,src);
    if(isEqual(tmp1,tar)){
        return 1;
    }
    tran90(tmp2,tmp1);
    if(isEqual(tmp2,tar)){
        return 2;
    }
    tran90(tmp1,tmp2);
    if(isEqual(tmp2,tar)){
        return 3;
    }
    return -1;
}

int main()
{
    int n;
    cin>>n;
    vector<vector<char>> origin(n,vector<char>(n));
    read(origin,n);
    vector<vector<char>> target(n,vector<char>(n));
    read(target,n);
    int ret=check(target,origin);
    if(ret!=-1){
        cout<<ret;
        return 0;
    }else{
        vector<vector<char>> tmp(n,vector<char>(n));
        reflect(tmp,origin);
        if(isEqual(target,tmp)){
            cout<<4;
            return 0;
        }
        int ret=check(target,origin);
        if(ret!=-1){
            cout<<5;
            return 0;
        }
    }
    if(isEqual(target,origin)){
        cout<<6;
        return 0;
    }
    cout<<7;
    return 0;
}


